package com.hexinfo.dmpro.script.publish.service;

import com.hexinfo.dmpro.common.model.ClusterSparingConf;
import com.hexinfo.dmpro.script.publish.entity.ScriptPublishListEntity;
import com.hexinfo.dmpro.script.publish.entity.ScriptPublishTaskEntity;

import java.util.List;

public interface IPublishTaskService {

    /**
     * @Method execPublishTask
     * @Param
     * @param scriptPublishTask
     * @Return void
     * @Description 异步调用的方式执行发布任务
     * @Author Wang zhihao
     * @Date 2023/12/1 14:25
     * @Version V1.0
     */
    void execPublishTask(ScriptPublishTaskEntity scriptPublishTask);

    /**
     * @Method execRestoreTask
     * @Param
     * @param scriptPublishTask
     * @param scriptPublishListEntities
     * @param clusterSparingConf
     * @Return void
     * @Description 异步调用的方式执行还原任务
     * @Author Wang zhihao
     * @Date 2023/12/4 13:55
     * @Version V1.0
     */
    void execRestoreTask(ScriptPublishTaskEntity scriptPublishTask, List<ScriptPublishListEntity> scriptPublishListEntities, ClusterSparingConf clusterSparingConf);
}
